Platform Explorer / Nuxeo Platform 2023.22

Contribution org.nuxeo.ecm.platform.routing.layouts--widgets

This contribution is part of XML component org.nuxeo.ecm.platform.routing.layouts inside nuxeo-routing-web-2023.22.13.jar /OSGI-INF/layouts-contrib.xml

Extension Point

Extension point widgets of component WebLayoutManager.

Registration Order

29
The registration order represents the order in which this contribution was registered on its target extention point. This will impact the override/merge behaviour when it is implemented on the target service, and is useful for proper customization of existing contributions.
You can influence this order by adding "require" tags in the containing component declaration, to make sure it is resolved after another component (see "Resolution Order" on components).

Contributed Items

  • <widget name="current_route_description" type="current_route_description"/>
  • <widget name="current_route_show_graph" type="current_route_show_graph">
          <fields>
            <field>#{layoutValue.document.id}
            </field>
          </fields>
          <handlingLabels>true</handlingLabels>
        </widget>
  • <widget name="current_route_abandon" type="current_route_abandon">
          <controls mode="any">
            <control name="requireSurroundingForm">true</control>
          </controls>
        </widget>
  • <widget name="current_route_user_tasks" type="current_route_user_tasks">
          <labels>
            <label mode="any"/>
          </labels>
          <properties widgetMode="any">
            <property name="displayTaskAdditionalActions">true</property>
          </properties>
          <controls mode="any">
            <control name="handleLabels">true</control>
            <control name="requireSurroundingForm">false</control>
          </controls>
        </widget>
  • <widget name="current_route_open_tasks" type="current_route_open_tasks">
          <labels>
            <label mode="any"/>
          </labels>
          <controls mode="any">
            <control name="handleLabels">true</control>
            <control name="requireSurroundingForm">true</control>
          </controls>
        </widget>
  • <widget name="current_route_previous_tasks" type="contentViewWithForms">
          <labels>
            <label mode="any"/>
          </labels>
          <translated>false</translated>
          <properties widgetMode="any">
            <property name="contentViewName">route_past_steps</property>
          </properties>
        </widget>
  • <widget name="current_route_panel_top" type="documentActions">
          <labels>
            <label mode="any"/>
          </labels>
          <properties widgetMode="any">
            <property name="category">CURRENT_ROUTE_PANEL_TOP</property>
            <property name="styleClass">summaryActions</property>
            <property name="actionContextDocument">#{layout.properties.currentDocumentForRoute}</property>
          </properties>
          <controls mode="any">
            <control name="handleLabels">true</control>
          </controls>
        </widget>
  • <widget name="current_route_panel_left" type="container">
          <properties widgetMode="any">
            <property name="hideSubLabels">true</property>
            <property name="display">block_top</property>
            <property name="ajaxPanelId">currentRoutePanelLeft</property>
          </properties>
          <subWidgetRefs>
            <widget>current_route_tasks</widget>
          </subWidgetRefs>
        </widget>
  • <widget name="current_route_tasks" type="documentActions">
          <labels>
            <label mode="any"/>
          </labels>
          <properties widgetMode="any">
            <property name="category">CURRENT_ROUTE_PANEL_LEFT</property>
            <property name="styleClass">summaryActions</property>
            <property name="actionContextDocument">#{layout.properties.currentDocumentForRoute}</property>
          </properties>
          <controls mode="any">
            <control name="handleLabels">true</control>
          </controls>
        </widget>
  • <widget name="current_route_panel_right" type="documentActions">
          <labels>
            <label mode="any"/>
          </labels>
          <properties widgetMode="any">
            <property name="category">CURRENT_ROUTE_PANEL_RIGHT</property>
            <property name="styleClass">summaryActions</property>
            <property name="actionContextDocument">#{layout.properties.currentDocumentForRoute}</property>
          </properties>
          <controls mode="any">
            <control name="handleLabels">true</control>
          </controls>
        </widget>
  • <widget name="current_route_panel_bottom" type="documentActions">
          <labels>
            <label mode="any"/>
          </labels>
          <properties widgetMode="any">
            <property name="category">CURRENT_ROUTE_PANEL_BOTTOM</property>
            <property name="styleClass">summaryActions</property>
            <property name="actionContextDocument">#{layout.properties.currentDocumentForRoute}</property>
          </properties>
          <controls mode="any">
            <control name="handleLabels">true</control>
          </controls>
        </widget>
  • <widget name="task_title" type="text">
          <labels>
            <label mode="any">label.workflow.task.Name</label>
          </labels>
          <translated>true</translated>
          <fields>
            <field>data.task.name</field>
          </fields>
          <properties mode="any">
            <property name="localize">true</property>
          </properties>
        </widget>
  • <widget name="task_directive" type="text">
          <labels>
            <label mode="any">label.workflow.task.directive</label>
          </labels>
          <translated>true</translated>
          <fields>
            <field>data.task.directive</field>
          </fields>
          <properties mode="any">
            <property name="localize">true</property>
          </properties>
        </widget>
  • <widget name="task_assignee" type="multiplePrefixedUsersSuggestion">
          <labels>
            <label mode="any">label.document.route.content.header.actors
            </label>
          </labels>
          <translated>true</translated>
          <fields>
            <field>data.task.actors</field>
          </fields>
        </widget>
  • <widget name="task_comments" type="list">
          <labels>
            <label mode="any">label.content.header.comments</label>
          </labels>
          <translated>true</translated>
          <fields>
            <field>data.task.taskComments</field>
          </fields>
          <properties mode="any">
            <property name="localize">true</property>
            <property name="hideSubLabels">true</property>
          </properties>
          <subWidgets>
            <widget name="comment" type="text">
              <fields>
                <field>text</field>
              </fields>
            </widget>
          </subWidgets>
        </widget>
  • <widget name="task_start_date" type="datetime">
          <labels>
            <label mode="any">label.workflow.task.startdate</label>
          </labels>
          <translated>true</translated>
          <fields>
            <field>data.dublincore.created</field>
          </fields>
        </widget>
  • <widget name="task_due_date" type="datetime">
          <labels>
            <label mode="any">label.workflow.task.duedate</label>
          </labels>
          <translated>true</translated>
          <fields>
            <field>data.task.dueDate</field>
          </fields>
        </widget>
  • <widget name="task_workflow_title" type="task_workflow_title">
          <labels>
            <label mode="any">label.route.task.workflowStep</label>
          </labels>
          <translated>true</translated>
          <fields>
            <field/>
            <field>name</field>
          </fields>
        </widget>
  • <widget name="task_workflow_name" type="task_workflow_name">
          <labels>
            <label mode="any">label.route.task.workflowStep</label>
          </labels>
          <translated>true</translated>
          <fields>
            <field/>
            <field>name</field>
          </fields>
        </widget>
  • <widget name="task_show_workflow_graph" type="current_route_show_graph">
          <labels>
            <label mode="any"/>
          </labels>
          <fields>
            <field>processId</field>
          </fields>
        </widget>
  • <widget name="task_actors" type="multiplePrefixedUsersSuggestion">
          <labels>
            <label mode="any">label.document.route.content.header.actors
            </label>
          </labels>
          <translated>true</translated>
          <fields>
            <field>actors</field>
          </fields>
        </widget>
  • <widget name="task_duedate" type="datetime">
          <labels>
            <label mode="any">label.workflow.task.duedate</label>
          </labels>
          <translated>true</translated>
          <fields>
            <field>dueDate</field>
          </fields>
        </widget>
  • <widget name="task_simple_directive" type="text">
          <labels>
            <label mode="any">label.workflow.task.directive</label>
          </labels>
          <translated>true</translated>
          <fields>
            <field>directive</field>
          </fields>
          <properties mode="any">
            <property name="localize">true</property>
          </properties>
        </widget>
  • <widget name="task_delegated_users" type="multiplePrefixedUsersSuggestion">
          <labels>
            <label mode="any">label.route.task.delegated.to</label>
          </labels>
          <translated>true</translated>
          <fields>
            <field>delegatedActors</field>
          </fields>
        </widget>
  • <widget name="task_layout_with_actions" type="task_layout_with_actions">
          <labels>
            <label mode="any"/>
          </labels>
          <fields>
            <field/>
            <field>id</field>
          </fields>
        </widget>
  • <widget name="reassign_task_widget" type="action">
          <properties widgetMode="any">
            <property name="action">#{webActions.getActionForDocument("reassignTask",null,
              false)}
            </property>
            <property name="styleClass">floatL</property>
            <property name="actionStyleClass">button</property>
            <property name="actionsDisplay">buttons</property>
            <property name="addForm">true</property>
            <property name="useAjaxForm">true</property>
            <property name="ignoreTemplateProperty">true</property>
          </properties>
          <widgetModes>
            <mode value="any">#{layoutValue.isCanBeReassigned()?'edit':'hidden'}
            </mode>
          </widgetModes>
        </widget>
  • <widget name="delegate_task_widget" type="action">
          <properties widgetMode="any">
            <property name="action">#{webActions.getActionForDocument("delegateTask",null,
              false)}
            </property>
            <property name="styleClass">floatL</property>
            <property name="actionStyleClass">button</property>
            <property name="actionsDisplay">buttons</property>
            <property name="addForm">true</property>
            <property name="useAjaxForm">true</property>
            <property name="ignoreTemplateProperty">true</property>
          </properties>
        </widget>

XML Source

<extension point="widgets" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">

    <widget name="current_route_description" type="current_route_description"/>
    <widget name="current_route_show_graph" type="current_route_show_graph">
      <fields>
        <field>#{layoutValue.document.id}
        </field>
      </fields>
      <handlingLabels>true</handlingLabels>
    </widget>
    <widget name="current_route_abandon" type="current_route_abandon">
      <controls mode="any">
        <control name="requireSurroundingForm">true</control>
      </controls>
    </widget>
    <widget name="current_route_user_tasks" type="current_route_user_tasks">
      <labels>
        <label mode="any"/>
      </labels>
      <properties widgetMode="any">
        <property name="displayTaskAdditionalActions">true</property>
      </properties>
      <controls mode="any">
        <control name="handleLabels">true</control>
        <control name="requireSurroundingForm">false</control>
      </controls>
    </widget>
    <widget name="current_route_open_tasks" type="current_route_open_tasks">
      <labels>
        <label mode="any"/>
      </labels>
      <controls mode="any">
        <control name="handleLabels">true</control>
        <control name="requireSurroundingForm">true</control>
      </controls>
    </widget>

    <widget name="current_route_previous_tasks" type="contentViewWithForms">
      <labels>
        <label mode="any"/>
      </labels>
      <translated>false</translated>
      <properties widgetMode="any">
        <property name="contentViewName">route_past_steps</property>
      </properties>
    </widget>

    <widget name="current_route_panel_top" type="documentActions">
      <labels>
        <label mode="any"/>
      </labels>
      <properties widgetMode="any">
        <property name="category">CURRENT_ROUTE_PANEL_TOP</property>
        <property name="styleClass">summaryActions</property>
        <property name="actionContextDocument">#{layout.properties.currentDocumentForRoute}</property>
      </properties>
      <controls mode="any">
        <control name="handleLabels">true</control>
      </controls>
    </widget>

    <widget name="current_route_panel_left" type="container">
      <properties widgetMode="any">
        <property name="hideSubLabels">true</property>
        <property name="display">block_top</property>
        <property name="ajaxPanelId">currentRoutePanelLeft</property>
      </properties>
      <subWidgetRefs>
        <widget>current_route_tasks</widget>
      </subWidgetRefs>
    </widget>

    <widget name="current_route_tasks" type="documentActions">
      <labels>
        <label mode="any"/>
      </labels>
      <properties widgetMode="any">
        <property name="category">CURRENT_ROUTE_PANEL_LEFT</property>
        <property name="styleClass">summaryActions</property>
        <property name="actionContextDocument">#{layout.properties.currentDocumentForRoute}</property>
      </properties>
      <controls mode="any">
        <control name="handleLabels">true</control>
      </controls>
    </widget>

    <widget name="current_route_panel_right" type="documentActions">
      <labels>
        <label mode="any"/>
      </labels>
      <properties widgetMode="any">
        <property name="category">CURRENT_ROUTE_PANEL_RIGHT</property>
        <property name="styleClass">summaryActions</property>
        <property name="actionContextDocument">#{layout.properties.currentDocumentForRoute}</property>
      </properties>
      <controls mode="any">
        <control name="handleLabels">true</control>
      </controls>
    </widget>

    <widget name="current_route_panel_bottom" type="documentActions">
      <labels>
        <label mode="any"/>
      </labels>
      <properties widgetMode="any">
        <property name="category">CURRENT_ROUTE_PANEL_BOTTOM</property>
        <property name="styleClass">summaryActions</property>
        <property name="actionContextDocument">#{layout.properties.currentDocumentForRoute}</property>
      </properties>
      <controls mode="any">
        <control name="handleLabels">true</control>
      </controls>
    </widget>

    <!-- for previous tasks layout -->
    <widget name="task_title" type="text">
      <labels>
        <label mode="any">label.workflow.task.Name</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field>data.task.name</field>
      </fields>
      <properties mode="any">
        <property name="localize">true</property>
      </properties>
    </widget>
    <widget name="task_directive" type="text">
      <labels>
        <label mode="any">label.workflow.task.directive</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field>data.task.directive</field>
      </fields>
      <properties mode="any">
        <property name="localize">true</property>
      </properties>
    </widget>
    <widget name="task_assignee" type="multiplePrefixedUsersSuggestion">
      <labels>
        <label mode="any">label.document.route.content.header.actors
        </label>
      </labels>
      <translated>true</translated>
      <fields>
        <field>data.task.actors</field>
      </fields>
    </widget>
    <widget name="task_comments" type="list">
      <labels>
        <label mode="any">label.content.header.comments</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field>data.task.taskComments</field>
      </fields>
      <properties mode="any">
        <property name="localize">true</property>
        <property name="hideSubLabels">true</property>
      </properties>
      <subWidgets>
        <widget name="comment" type="text">
          <fields>
            <field>text</field>
          </fields>
        </widget>
      </subWidgets>
    </widget>
    <widget name="task_start_date" type="datetime">
      <labels>
        <label mode="any">label.workflow.task.startdate</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field>data.dublincore.created</field>
      </fields>
    </widget>
    <widget name="task_due_date" type="datetime">
      <labels>
        <label mode="any">label.workflow.task.duedate</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field>data.task.dueDate</field>
      </fields>
    </widget>

    <!-- for "task_layout" @since 5.8, apply to an object Task -->
    <widget name="task_workflow_title" type="task_workflow_title">
      <labels>
        <label mode="any">label.route.task.workflowStep</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field/>
        <field>name</field>
      </fields>
    </widget>
    <widget name="task_workflow_name" type="task_workflow_name">
      <labels>
        <label mode="any">label.route.task.workflowStep</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field/>
        <field>name</field>
      </fields>
    </widget>
    <widget name="task_show_workflow_graph" type="current_route_show_graph">
      <labels>
        <label mode="any"/>
      </labels>
      <fields>
        <field>processId</field>
      </fields>
    </widget>
    <widget name="task_actors" type="multiplePrefixedUsersSuggestion">
      <labels>
        <label mode="any">label.document.route.content.header.actors
        </label>
      </labels>
      <translated>true</translated>
      <fields>
        <field>actors</field>
      </fields>
    </widget>
    <widget name="task_duedate" type="datetime">
      <labels>
        <label mode="any">label.workflow.task.duedate</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field>dueDate</field>
      </fields>
    </widget>
    <widget name="task_simple_directive" type="text">
      <labels>
        <label mode="any">label.workflow.task.directive</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field>directive</field>
      </fields>
      <properties mode="any">
        <property name="localize">true</property>
      </properties>
    </widget>
    <widget name="task_delegated_users" type="multiplePrefixedUsersSuggestion">
      <labels>
        <label mode="any">label.route.task.delegated.to</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field>delegatedActors</field>
      </fields>
    </widget>
    <widget name="task_layout_with_actions" type="task_layout_with_actions">
      <labels>
        <label mode="any"/>
      </labels>
      <fields>
        <field/>
        <field>id</field>
      </fields>
    </widget>

    <widget name="reassign_task_widget" type="action">
      <properties widgetMode="any">
        <property name="action">#{webActions.getActionForDocument("reassignTask",null,
          false)}
        </property>
        <property name="styleClass">floatL</property>
        <property name="actionStyleClass">button</property>
        <property name="actionsDisplay">buttons</property>
        <property name="addForm">true</property>
        <property name="useAjaxForm">true</property>
        <property name="ignoreTemplateProperty">true</property>
      </properties>
      <widgetModes>
        <mode value="any">#{layoutValue.isCanBeReassigned()?'edit':'hidden'}
        </mode>
      </widgetModes>
    </widget>

    <widget name="delegate_task_widget" type="action">
      <properties widgetMode="any">
        <property name="action">#{webActions.getActionForDocument("delegateTask",null,
          false)}
        </property>
        <property name="styleClass">floatL</property>
        <property name="actionStyleClass">button</property>
        <property name="actionsDisplay">buttons</property>
        <property name="addForm">true</property>
        <property name="useAjaxForm">true</property>
        <property name="ignoreTemplateProperty">true</property>
      </properties>
    </widget>

  </extension>